package com.zhijian.medical.entity.vo.request;

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 人员能力考核-技术能力考核 新增or修改vo
 *
 * @author auto
 * @version 1.0
 * @date 2024-11-14 13:57:59
 */
@Data
@Api(tags = "人员能力考核-技术能力考核新增or修改vo")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class AssessmentTechnicalSaveOrUpdateVo implements Serializable {

    private static final long serialVersionUID = -1;

    /**
     * 主键id
     */
    @ApiModelProperty(value = "主键id", hidden = true)
    private Long id;

    /**
     * 关联用户 id
     */
    @ApiModelProperty("关联用户 id")
    @NotNull(message = "关联用户 id不能为空")
    private Long personId;

    /**
     * 专业组
     */
    @ApiModelProperty("专业组")
    @NotBlank(message = "专业组不能为空")
    private String personGroup;

    /**
     * 姓名
     */
    @ApiModelProperty("姓名")
    @NotBlank(message = "姓名不能为空")
    private String personName;

    /**
     * 职称、职务
     */
    @ApiModelProperty("职称、职务")
    @NotBlank(message = "职称、职务不能为空")
    private String personTitle;

    /**
     * 
     */
    @ApiModelProperty("")
    private Date createTime;

    /**
     * 
     */
    @ApiModelProperty("")
    private Date updateTime;

    /**
     * 临床工作-取材_例
     */
    @ApiModelProperty("临床工作-取材_例")
    private String clinicalWorkQc;

    /**
     * 临床工作-诊断_例
     */
    @ApiModelProperty("临床工作-诊断_例")
    private String clinicalWorkZd;

    /**
     * 临床工作-复诊_例
     */
    @ApiModelProperty("临床工作-复诊_例")
    private String clinicalWorkFz;

    /**
     * 临床工作-审核_例
     */
    @ApiModelProperty("临床工作-审核_例")
    private String clinicalWorkSh;

    /**
     * 当前岗位平均工作量 1
     */
    @ApiModelProperty("当前岗位平均工作量 1")
    private String averageWorkloadOne;

    /**
     * 当前岗位平均工作量 2
     */
    @ApiModelProperty("当前岗位平均工作量 2")
    private String averageWorkloadTwo;

    /**
     * 当前岗位平均工作量 3
     */
    @ApiModelProperty("当前岗位平均工作量 3")
    private String averageWorkloadThree;

    /**
     * 当前岗位平均工作量 4
     */
    @ApiModelProperty("当前岗位平均工作量 4")
    private String averageWorkloadFour;

    /**
     * 教学工作-科内讲课_次
     */
    @ApiModelProperty("教学工作-科内讲课_次")
    private String teachingKnjk;

    /**
     * 教学工作-科外讲座_次
     */
    @ApiModelProperty("教学工作-科外讲座_次")
    private String teachingKwjz;

    /**
     * 教学工作-科外培训_次
     */
    @ApiModelProperty("教学工作-科外培训_次")
    private String teachingKwpx;

    /**
     * 教学工作-南大教学_次
     */
    @ApiModelProperty("教学工作-南大教学_次")
    private String teachingNdjx;

    /**
     * 科研工作-统计源核心_篇
     */
    @ApiModelProperty("科研工作-统计源核心_篇")
    private String researchTjyhx;

    /**
     * 科研工作-SCI_篇
     */
    @ApiModelProperty("科研工作-SCI_篇")
    private String researchSci;

    /**
     * 科研工作-SCI合计影响因子
     */
    @ApiModelProperty("科研工作-SCI合计影响因子")
    private String researchSciFactor;

    /**
     * 科研工作-中标课题：0-无；1-有
     */
    @ApiModelProperty("科研工作-中标课题：0-无；1-有")
    private Byte researchZbkt;

    /**
     * 质量管理-0-未参加；1-参加
     */
    @ApiModelProperty("质量管理-0-未参加；1-参加")
    private Byte qualityManager;

    /**
     * 质量管理-岗位名称
     */
    @ApiModelProperty("质量管理-岗位名称")
    private String qualityManagerTitle;

    /**
     * 质量管理-主管评价：1-优秀；2-良好；3-不合格
     */
    @ApiModelProperty("质量管理-主管评价：1-优秀；2-良好；3-不合格")
    private Byte qualityManagerEvaluate;

    /**
     * 不良事件：0-无；1-有
     */
    @ApiModelProperty("不良事件：0-无；1-有")
    private Byte adverseEvents;

    /**
     * 不良事件-次数
     */
    @ApiModelProperty("不良事件-次数")
    private String adverseEventsTimes;

    /**
     * 不良事件-严重程度：1-一般；2-严重
     */
    @ApiModelProperty("不良事件-严重程度：1-一般；2-严重")
    private Byte adverseEventsDegree;

    /**
     * 临床工作能力-正确理解并按时完成工作：1-满意；2-有待改进；3-较差；4-无法评估
     */
    @ApiModelProperty("临床工作能力-正确理解并按时完成工作：1-满意；2-有待改进；3-较差；4-无法评估")
    private Byte clinicalOne;

    /**
     * 临床工作能力-正确的处理标本：1-满意；2-有待改进；3-较差；4-无法评估
     */
    @ApiModelProperty("临床工作能力-正确的处理标本：1-满意；2-有待改进；3-较差；4-无法评估")
    private Byte clinicalTwo;

    /**
     * 临床工作能力-诊断和鉴别诊断能力：1-满意；2-有待改进；3-较差；4-无法评估
     */
    @ApiModelProperty("临床工作能力-诊断和鉴别诊断能力：1-满意；2-有待改进；3-较差；4-无法评估")
    private Byte clinicalThree;

    /**
     * 临床工作能力-选择辅助检查能力：1-满意；2-有待改进；3-较差；4-无法评估
     */
    @ApiModelProperty("临床工作能力-选择辅助检查能力：1-满意；2-有待改进；3-较差；4-无法评估")
    private Byte clinicalFour;

    /**
     * 临床工作能力-正确书写病理报告：1-满意；2-有待改进；3-较差；4-无法评估
     */
    @ApiModelProperty("临床工作能力-正确书写病理报告：1-满意；2-有待改进；3-较差；4-无法评估")
    private Byte clinicalFive;

    /**
     * 学术能力和实践能力-工作中应用专业文献的能力：1-满意；2-有待改进；3-较差；4-无法评估
     */
    @ApiModelProperty("学术能力和实践能力-工作中应用专业文献的能力：1-满意；2-有待改进；3-较差；4-无法评估")
    private Byte studyOne;

    /**
     * 学术能力和实践能力-参加讲座、会议和学习班：1-满意；2-有待改进；3-较差；4-无法评估
     */
    @ApiModelProperty("学术能力和实践能力-参加讲座、会议和学习班：1-满意；2-有待改进；3-较差；4-无法评估")
    private Byte studyTwo;

    /**
     * 学术能力和实践能力-临床病例汇报及讲座：1-满意；2-有待改进；3-较差；4-无法评估
     */
    @ApiModelProperty("学术能力和实践能力-临床病例汇报及讲座：1-满意；2-有待改进；3-较差；4-无法评估")
    private Byte studyThree;

    /**
     * 学术能力和实践能力-论文写作和发表：1-满意；2-有待改进；3-较差；4-无法评估
     */
    @ApiModelProperty("学术能力和实践能力-论文写作和发表：1-满意；2-有待改进；3-较差；4-无法评估")
    private Byte studyFour;

    /**
     * 学术能力和实践能力-带教及指导低年资医生：1-满意；2-有待改进；3-较差；4-无法评估
     */
    @ApiModelProperty("学术能力和实践能力-带教及指导低年资医生：1-满意；2-有待改进；3-较差；4-无法评估")
    private Byte studyFive;

    /**
     * 考评得分
     */
    @ApiModelProperty("考评得分")
    private String totalScore;

    /**
     * 该员工得分
     */
    @ApiModelProperty("该员工得分")
    private String personScore;

    /**
     * 该员工应处于的等级：1-[A] ;2-[B];3- [C]
     */
    @ApiModelProperty("该员工应处于的等级：1-[A] ;2-[B];3- [C]")
    private Byte personLevel;

    /**
     * 考核者意见
     */
    @ApiModelProperty("考核者意见")
    private String personSuggest;

    /**
     * 胜任目前岗位：0-否；1-是
     */
    @ApiModelProperty("胜任目前岗位：0-否；1-是")
    private Byte competentWork;

    /**
     * 考核者签字
     */
    @ApiModelProperty("考核者签字")
    private String signature;

    /**
     * 考核日期-年
     */
    @ApiModelProperty("考核日期-年")
    private String checkYear;

    /**
     * 考核日期-月
     */
    @ApiModelProperty("考核日期-月")
    private String checkMonth;

    /**
     * 考核日期-日
     */
    @ApiModelProperty("考核日期-日")
    private String checkDay;
}